home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Monster Media 1994 #2
/
Monster Media No. 2 (Monster Media)(1994).ISO
/
pcboard
/
tbg_dwho.zip
/
WHO.PPE
(
.txt
)
< prev
Wrap
PCBoard Programming Language Executable
|
1994-04-25
|
5KB
|
219 lines
;------------------------------------------------------------------------------
; .ss.
; `²²'
; .,sS$Ss,,s$ .,sS$$$Ss. .,sS$Ss,,s$ .ss. .sSs.
; .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
; $$$' .$$$' $$$²Sçsµ²' .$$$' .$$$'.$$$' .$$$' `$$b.
; $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$' ;$$$
; `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
; .sS²°$$$²²°"' d²°'
; .$$² .$$'
; $$$.,d$$'
; `²S$$S²'
;------------------------------------------------------------------------------
; P.P.L.X. 2.OO (C)1996 - Lone Runner / AEGiS CoRP'96
;------------------------------------------------------------------------------
; PPE 2.OO (plain) - Analysis ON - Postprocessing ON
;------------------------------------------------------------------------------
Integer INTEGER001
Integer INTEGER002
String STRING001
String STRING002
;------------------------------------------------------------------------------
If (Exist(PPEPath() + "who.cfg")) Then
FOpen 1, PPEPath() + "who.cfg", 0, 0
FGet 1, INTEGER002
FGet 1, STRING002
Else
PrintLn "@X06Configuration file WHO.CFG not fount, aborting..."
Stop
Endif
Gosub LABEL001
Gosub LABEL002
For INTEGER001 = 1 To INTEGER002
Gosub LABEL004
Next
Gosub LABEL003
Goto LABEL007
:LABEL001
If (ReadLine(PCBDat(), 90) == "0") Then
Newline
PrintLn "@X0F≡ @X09Sorry! No Network active! @X0F≡"
Newline
Else
Return
:LABEL002
Cls
PrintLn "@X02.---+----------------------+---------------------------+----------------------."
PrintLn "@X02|@X06Nd#@X02| @X07Name/Handle @X02| @X07Location @X02| @X07Action @X02|"
PrintLn "@X02)---+----------------------+---------------------------+----------------------("
Return
:LABEL003
PrintLn "@X02| @X06Devil's Who @X07Version 2.0ß - @X0FW@X07r@X08itten @X07b@X08y @X0FD@X07e@X08vil @X0FM@X07a@X08n @X07[TBG] - @X08" + STRING002 + "@POS:79@@X02|"
PrintLn "@X02`-----------------------------------------------------------------------------'"
Return
:LABEL004
RdUNet INTEGER001
Print "@X02|"
If (INTEGER001 > 99) Then
Print "@X06@POS:2@"
Else
Print "@X06@POS:3@"
Endif
Print INTEGER001
Print "@X02@POS:5@"
Print "|"
If (UN_Stat() == "") Then
PrintLn "@POS:7@@X07Not Available@POS:28@@X02|@POS:56@@X02|@POS:79@@X02|"
PrintLn "@X02|---+----------------------+---------------------------+----------------------|"
Return
Endif
Select Case (UN_Stat())
Case " ", "V"
PrintLn "@POS:7@@X07No Caller this Node@POS:28@@X02|@POS:56@@X02|@POS:79@@X02|"
PrintLn "@X02|---+----------------------+---------------------------+----------------------|"
Return
Case "Y"
PrintLn "@POS:7@@X07Node Offline@POS:28@@X02|@POS:56@@X02|@POS:79@@X02|"
Return
Case Else
If (!(UN_Name() == "")) Print "@POS:7@@X07" + UN_Name() + "@POS:28@@X02|"
If (!(UN_City() == "")) Print "@POS:30@@X07" + UN_City() + "@POS:56@@X02|"
Gosub LABEL005
End Select
PrintLn "@X02|---+----------------------+---------------------------+----------------------|"
Return
:LABEL005
If (PcbNode() == INTEGER001) Then
PrintLn "@POS:58@@X07Using Devil's Who@POS:79@@X02|"
Else
Select Case (UN_Stat())
Case "A"
PrintLn "@POS:58@@X07Available for Chat@POS:79@@X02|"
Case "U"
PrintLn "@POS:58@@X07Unavailable for Chat@POS:79@@X02|"
Case "O"
PrintLn "@POS:58@@X07Logon Sequence@POS:79@@X02|"
Case "S"
PrintLn "@POS:58@@X07Answering a Script@POS:79@@X02|"
Case "B"
PrintLn "@POS:58@@X07Out to Dos@POS:79@@X02|"
Case "T"
Gosub LABEL006
Case "D"
PrintLn "@POS:58@@X07User in a Door@POS:79@@X02|"
Case "C"
PrintLn "@POS:58@@X07Chatting with Sysop@POS:79@@X02|"
Case "G"
PrintLn "@POS:58@@X07Chatting with Group@POS:79@@X02|"
Case "M"
PrintLn "@POS:58@@X07Rcvd Broadcast Msg@POS:79@@X02|"
Case "E"
PrintLn "@POS:58@@X07Entering a Message@POS:79@@X02|"
Case "P"
PrintLn "@POS:58@@X07Paging Sysop@POS:79@@X02|"
Case "W"
PrintLn "@POS:58@@X07Node dropped to Dos@POS:79@@X02|"
Case "R"
PrintLn "@POS:58@@X07Recycling Node@POS:79@@X02|"
Case "L"
PrintLn "@POS:58@@X07AutoLogoff Sequence@POS:79@@X02|"
Case "X"
PrintLn "@POS:58@@X07Drop to Dos pending@POS:79@@X02|"
Case "F"
PrintLn "@POS:58@@X07Viewing a File@POS:79@@X02|"
Case "N"
PrintLn "@POS:58@@X07Running Event@POS:79@@X02|"
Case "Z"
PrintLn "@POS:58@@X07Node is Offline@POS:79@@X02|"
Case Else
PrintLn "@POS:58@@X07Unknown Activity@POS:79@@X02|"
Endif
End Select
Return
:LABEL006
STRING001 = Left(UN_Oper(), 3)
Select Case (STRING001)
Case "(U)"
PrintLn "@POS:58@@X07Uploading@POS:79@@X02|"
Case "(D)"
PrintLn "@POS:58@@X07Downloading@POS:79@@X02|"
Case Else
PrintLn "@POS:58@@X07Beginning Transfer@POS:79@@X02|"
End Select
Return
Endif
:LABEL007
End
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 1 End
; 1 Cls
; 58 Goto
; 3 Let
; 8 Print
; 36 PrintLn
; 31 If
; 1 FOpen
; 2 FGet
; 6 Gosub
; 9 Return
; 2 Newline
; 1 Stop
; 1 RdUNet
;
;
; ■ Functions used :
;
; 9 +
; 29 ==
; 1 <
; 1 <=
; 1 >
; 2 >=
; 31 !
; 2 &&
; 2 ||
; 1 Left()
; 1 PCBDat()
; 2 PPEPath()
; 1 PcbNode()
; 1 ReadLine()
; 23 UN_Stat()
; 2 UN_Name()
; 2 UN_City()
; 1 UN_Oper()
; 1 Exist()
;
;------------------------------------------------------------------------------
;
; Analysis flags : d
;
; d - Access PCBOARD.DAT ■ 2
; Program gets the full pathname to PCBOARD.DAT, this may be usefull
; for many PPE so they can find various informations on the system
; (system paths, max number of lines in messages, ...) but it may also
; be a way to gather vital informations.
; ■ Search for : PCBDAT()
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 1 For/Next
; 0 While/EndWhile
; 5 If/Then or If/Then/Else
; 3 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------